let account = {
  accountInfo: $('#accountInfo'),
  li(i, description, operation) {
    let li = `
            <li>
                <p>${i}</p>
                ${i === '头像' ? `<p><img src="${description}" id="avatarImg" alt=""></p>` : `<p>${description}</p>`}
                <p><input type="button" value="${operation}"></p>
            </li>`;
    if (i === '账号') {
      li = `
            <li>
                <p>${i}</p>
                <p>${description}</p>
                <p><input type="button" value="退出登录"><input type="button" value="注销"></p>
            </li>`;
    } else if (i === '密码') {
      li = li.replace(description, '********');
    }
    this.accountInfo.append(li);
  }
};

let informationarr = ['头像', '名称', '账号', '密码', '个人简介'];

// 判断有没有登录参数，如果有，则请求用户信息
let paramValue = (top.location.href).split('id=')[1];
$.post(port + 'personal', { paramValue }, function (data) {
  data = JSON.parse(data);
  if (data.code !== 0) {
    let arr = [data.result[0].avatar, data.result[0].name, data.result[0].account, data.result[0].password, data.result[0].resume];
    informationarr.forEach((item, index) => {
      account.li(item, arr[index], '修改');
    });
  }
});

// 修改信息
$('#accountInfo').on('click', 'input[value="修改"]', function () {
  let judgment = $(this).parent().parent().find('p:eq(0)').text();
  let judgmentUpdate = $(this).parent().parent().find('p:eq(1)');
  let actions = {
    '头像': () => {
      //上传头像
      $('#file').click();
      $('#file').change(function () {
        let file = $(this)[0].files[0];
        if (!file) {
          return;
        }
        if (!paramValue) {
          return $('.promptBox').text('用户ID不存在，请重新登录').stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
            $(this).animate({ width: '0', height: '0' }, 1000);
          });
        }
        let formData = new FormData();
        formData.append('image', file);
        formData.append('id', paramValue); // 添加用户ID到FormData
        $.ajax({
          url: port + 'avatar',
          type: 'POST',
          data: formData,
          processData: false,
          contentType: false,
          success: function (data) {
            data = JSON.parse(data);
            if (data.code == 200) {
              $('.promptBox').text(data.module).stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
                $(this).animate({ width: '0', height: '0' }, 1000);
              });
              let img = $(window.parent.document.getElementById('LD')).find('img')
              img.attr('src', data.updated)
              judgmentUpdate.find('img').attr('src', data.updated)
            }
          },
          error: function (data) {
            data = JSON.parse(data);
            $('.promptBox').text(data.module).stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
              $(this).animate({ width: '0', height: '0' }, 1000);
            });
          }
        });
      });
    },
    '名称': () => modifyInfo(port + 'modifyName', 'name'),
    '密码': () => modifyInfo(port + 'modifyPassword'),
    '个人简介': () => {
      $('#ts').animate({ height: '150px' }, 500);
      $('#cancelBtn2').off('click').on('click', function () {
        $('#newAccountInfo').val('');
        $('#ts').animate({ height: '0' }, 500);
      });
      $('#confirmBtn2').off('click').on('click', function () {
        let resume = $('#newAccountInfo').val();
        if (!resume || resume.length > 100) {
          $('#newAccountInfo').val('');
          return $('.promptBox').text('消息不能为空且不能超过100个字符').stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
            $(this).animate({ width: '0', height: '0' }, 1000);
          });
        }
        $.post(port + 'modifyResume', { resume, paramValue }, function (data) {
          data = JSON.parse(data);
          if (data.code == 200) {
            $('#ts').css({ height: '0' });
            $('.promptBox').text(data.module).stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
              $(this).animate({ width: '0', height: '0' }, 1000);
            });
            judgmentUpdate.text(data.updated)
          } else {
            $('.promptBox').text(data.module).stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
              $(this).animate({ width: '0', height: '0' }, 1000);
            });
          }
        });
      });
    }
  };
  actions[judgment]();
  function modifyInfo(url, successMsg) {
    $('#aI').animate({ height: '150px' }, 500);
    $('#confirmBtn1').off('click').on('click', function () {
      let info = $('#newAccountInfo1').val();
      if (!info || info.length > 15) {
        $('#newAccountInfo1').val('');
        return $('.promptBox').text('信息不能为空且不能超过15个字符').stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
          $(this).animate({ width: '0', height: '0' }, 1000);
        });
      }
      let mfy = url.split('/')[3];
      $.post(url, { info, paramValue }, function (data) {
        data = JSON.parse(data);
        $('#aI').css({ height: '0' });
        if (data.code == 200) {
          if (mfy == 'modifyName') {
            $('.promptBox').text(data.module).stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
              $(this).animate({ width: '0', height: '0' }, 1000);
            });
            let name = $(window.parent.document.getElementById(successMsg))
            name.text(data.updated)
            judgmentUpdate.text(data.updated)
          }
          if (mfy == 'modifyPassword') {
            $('.promptBox').text(data.module).stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
              $(this).animate({ width: '0', height: '0' }, 1000);
            });
          }
        } else {
          $('.promptBox').text(data.module).stop().animate({ 'width': '300px', 'height': '40px' }, 500, function () {
            $(this).animate({ width: '0', height: '0' }, 1000);
          });
        }
      });
      $('#newAccountInfo1').val('');
    });
    $('#cancelBtn1').off('click').on('click', function () {
      $('#newAccountInfo1').val('');
      $('#aI').animate({ height: '0px' }, 500);
    });
  }
});


//退出登录
$('#accountInfo').on('click', 'input[value="退出登录"]', function () {
  //跳转到首页
  sessionStorage.setItem('userId', 'NaN');
  parent.location.href = sxport + 'public/HTML/index.html';
});

//注销账号
$('#accountInfo').on('click', 'input[value="注销"]', function () {
  $.post(port + 'delete', { paramValue }, function (data) {
    data = JSON.parse(data);
    if (data.code == 200) {
      sessionStorage.setItem('userId', 'NaN');
      parent.location.href = sxport + 'public/HTML/index.html';
    } else {
      alert('注销失败');
    }
  });
});